import Vue from 'vue'
import router from '../router'
// 引入全局axios
import axios from 'axios'
//配置axios的全局基本路径 t
axios.defaults.baseURL='http://localhost:10010'
//全局属性配置，在任意组件内可以使用this.$http获取axios对象
Vue.prototype.$http = axios

/**
 * 路由前置拦截器   静态资源拦截器
 */
// router.beforeEach((to, from, next) => {
//
//     if (to.path == '/login') {
//         next()
//     }else{ // 访问的不是公共资源，判断有没有登录
//         // token
//         let token = localStorage.getItem("token");
//         // 判断token是否为空
//         if(!token){ // 没有登录
//             next({ path: '/login' })
//         }else{
//             next();
//         }
//     }
// })
//
// axios前置拦截器  每次请求都携带token
axios.interceptors.request.use(config=>{
    //携带token
    let token =  localStorage.getItem("token");
    let username =  localStorage.getItem("username");
    if(token){
        config.headers['adminToken']=token;
        config.headers['username'] = username;
    }
    return config;
},error => {
    Promise.reject(error);
})

// axios后置拦截器，接收登录拦截返回的信息，跳转到登录页面

axios.interceptors.response.use(result=>{
    let data = result.data;
    if(data.code==4){
        // 删除localstorage数据
        localStorage.removeItem("token")
        // 跳转到登录页面
        router.push({ path: '/login' })
    }
    return result;
},error => {
    Promise.reject(error);
})
